<p>Шаблоны собственных компонентов веб-проекта, согласно общеизвестной логике шаблона проектирования "Model-View-Controller", должны содержать исключительно логику формирования верстки.</p>

<p>Controller - представлен ядром компонента . Задача "Контроллера" - обработать входные параметры, сделать их безопасными, обратиться к "Модели", обработать информацию и в подготовленном виде передать ее "Виду".</p>

<p>Model - представлена API модулей платформы Битрикс. Задача "Модели" - сохранить данные соответственно контексту предметной области, искать информацию по заданным критериям.</p>

<p>View - представлен шаблоном компонента. Задача "Вида" или шаблона - визуализировать информацию для Посетителя. В случае веб-приложений - сформировать верстку корректную.</p>

<p>Настоятельно рекомендуется в шаблонах компонентов заниматься исключительно формированием верстки на базе предоставленной "Контроллером" информации в виде массивов или объектов, не делать запросов к "Модели" и другим ресурсам. Код шаблона должен быть простым и понятным не только программисту, но и верстальщику. </p>

<p>Наличие в шаблоне компонента логики, присущей "контроллеру" или "модели" - ведет к дублированию, усложнению архитектуры и, соответственно, не только увеличивает вероятность ошибок при разработке, но и удорожанию развития и дальнейшей поддержке веб-решения. </p>



<p>Шаблоны собственных компонентов должны содержать простую логику, занимающуюся формированием верстки на основании предварительно подготовленных и переданных шаблону данных. Получение и обработка данных происходит вне шаблона компонента.</p>




